Security News
NVD Backlog Tops 20,000 CVEs Awaiting Analysis as NIST Prepares System Updates
NVD’s backlog surpasses 20,000 CVEs as analysis slows and NIST announces new system updates to address ongoing delays.
@turf/intersect
Advanced tools
@turf/intersect is a module of the Turf.js library that provides geospatial analysis tools. Specifically, it allows users to compute the intersection of two or more geometries, such as polygons or lines. This is useful in various applications like geographic information systems (GIS), urban planning, and environmental modeling.
Polygon Intersection
This feature allows you to find the intersection of two polygons. The code sample demonstrates how to create two polygons and compute their intersection.
const turf = require('@turf/turf');
const polygon1 = turf.polygon([[[0, 0], [2, 0], [2, 2], [0, 2], [0, 0]]]);
const polygon2 = turf.polygon([[[1, 1], [3, 1], [3, 3], [1, 3], [1, 1]]]);
const intersection = turf.intersect(polygon1, polygon2);
console.log(intersection);
Line Intersection
This feature allows you to find the intersection of two lines. The code sample demonstrates how to create two lines and compute their intersection.
const turf = require('@turf/turf');
const line1 = turf.lineString([[0, 0], [2, 2]]);
const line2 = turf.lineString([[0, 2], [2, 0]]);
const intersection = turf.intersect(line1, line2);
console.log(intersection);
MultiPolygon Intersection
This feature allows you to find the intersection of two multipolygons. The code sample demonstrates how to create two multipolygons and compute their intersection.
const turf = require('@turf/turf');
const multiPolygon1 = turf.multiPolygon([[[[0, 0], [2, 0], [2, 2], [0, 2], [0, 0]]]]);
const multiPolygon2 = turf.multiPolygon([[[[1, 1], [3, 1], [3, 3], [1, 3], [1, 1]]]]);
const intersection = turf.intersect(multiPolygon1, multiPolygon2);
console.log(intersection);
JSTS (JavaScript Topology Suite) is a JavaScript library for performing various geometric operations, including intersections. It is similar to @turf/intersect but offers a broader range of geometric functions and is based on the Java Topology Suite (JTS).
Martinez Polygon Clipping is a library for performing boolean operations on polygons, such as intersection, union, and difference. It is highly efficient and specifically designed for polygon operations, making it a good alternative to @turf/intersect for polygon-specific tasks.
RBush is a high-performance JavaScript library for 2D spatial indexing of points and rectangles. While it does not directly perform intersections, it can be used in conjunction with other libraries to efficiently manage and query spatial data, which can then be used for intersection operations.
Takes polygon or multi-polygon geometries and finds their polygonal intersection. If they don't intersect, returns null.
features
FeatureCollection<(Polygon | MultiPolygon)> the features to intersect
options
Object Optional Parameters (optional, default {}
)
options.properties
Object Translate GeoJSON Properties to Feature (optional, default {}
)var poly1 = turf.polygon([[
[-122.801742, 45.48565],
[-122.801742, 45.60491],
[-122.584762, 45.60491],
[-122.584762, 45.48565],
[-122.801742, 45.48565]
]]);
var poly2 = turf.polygon([[
[-122.520217, 45.535693],
[-122.64038, 45.553967],
[-122.720031, 45.526554],
[-122.669906, 45.507309],
[-122.723464, 45.446643],
[-122.532577, 45.408574],
[-122.487258, 45.477466],
[-122.520217, 45.535693]
]]);
var intersection = turf.intersect(turf.featureCollection([poly1, poly2]));
//addToMap
var addToMap = [poly1, poly2, intersection];
Returns (Feature | null) returns a feature representing the area they share (either a Polygon or
MultiPolygon). If they do not share any area, returns null
.
This module is part of the Turfjs project, an open source module collection dedicated to geographic algorithms. It is maintained in the Turfjs/turf repository, where you can create PRs and issues.
Install this single module individually:
$ npm install @turf/intersect
Or install the all-encompassing @turf/turf module that includes all modules as functions:
$ npm install @turf/turf
FAQs
turf intersect module
The npm package @turf/intersect receives a total of 0 weekly downloads. As such, @turf/intersect popularity was classified as not popular.
We found that @turf/intersect demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 9 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
NVD’s backlog surpasses 20,000 CVEs as analysis slows and NIST announces new system updates to address ongoing delays.
Security News
Research
A malicious npm package disguised as a WhatsApp client is exploiting authentication flows with a remote kill switch to exfiltrate data and destroy files.
Security News
PyPI now supports digital attestations, enhancing security and trust by allowing package maintainers to verify the authenticity of Python packages.